Network traffic aggregation method and device for in-vehicle telematics systems using tethering and peer-to-peer networking of mobile devices

ABSTRACT

A method for enhancing a data communication throughput associated with an in-vehicle telematics system includes receiving a communication request from the in-vehicle telematics system to perform at least one of a data upload to the Internet and a data download from the Internet, and verifying availability of one or more mobile devices within the vehicle. The maximum capability of a mobile network interface for each of the one or more available mobile devices within the vehicle is determined. When the communication request is for uploading data to the Internet, the data is fragmented into data fragments and distributed to the available mobile devices, whereas when the communication request is for downloading data from the Internet, it is determined for each mobile device which fragment of data is to be downloaded and from which server, and the respective determined fragments are received from each mobile device.

FIELD

This disclosure relates to a network traffic aggregation method and device which allows an in-vehicle telematics system to utilize a collection of mobile devices carried by a driver and/or passengers for enhancing its data communication throughput.

BACKGROUND

The telematics systems in many modern cars have mobile wireless network interfaces for connecting to the Internet. Through the mobile wireless networks, such systems exchange various data types and sizes ranging from small-sized traffic/safety messages to large-volume multimedia data. Due to the throughput limitations of the mobile wireless networks, however, downloading or uploading large-volume multimedia via the telematics system is often unacceptably slow. For example, if the average throughput associated with a mobile network interface is 2 Mbps (250 kB/s) and the size of a movie is 600 MB, downloading the movie via the mobile network interface would take approximately 40 minutes. Such a delay is so substantial as to effectively preclude use of the network for such tasks.

SUMMARY

In an embodiment of the invention, a method is provided for enhancing a data communication throughput associated with an in-vehicle telematics system comprising. The method entails receiving a communication request from the in-vehicle telematics system to perform a data upload to the Internet and/or a data download from the Internet, and verifying availability of one or more mobile devices within the vehicle. A maximum capability of a mobile network interface for each of the one or more available mobile devices within the vehicle is determined. When the communication request from the in-vehicle telematics system is for uploading data to the Internet, the data is fragmented and the fragments are distributed to the available mobile devices. When the communication request is for downloading data from the Internet, data fragments and source servers are identified and the respective fragments are received from each mobile device.

In another embodiment of the invention, a system is provided for communicating from a vehicle over the Internet. The system comprises an in-vehicle telematics unit for wirelessly communicating from the vehicle over a network, a traffic aggregator connected to the in-vehicle telematics unit, and one or more mobile devices. The traffic aggregator is configured to receive a request from the in-vehicle telematics unit to exchange data to or from a server on the Internet, and to distribute data communications tasks associated with the exchange among the mobile devices using a tethering connection between the traffic aggregator and the mobile devices. The distribution of data communications tasks among the mobile devices is based on network capabilities of the mobile devices.

In yet another embodiment of the invention, a method is provided for enhancing communications bandwidth of an in-vehicle telematics unit. The method entails identifying one or more mobile communications devices within the vehicle and wirelessly tethering to the devices. The bandwidth capability of each mobile communications device is determined, and parts of a communications task are distributed among the mobile communications devices. The communications task may include a data upload to the Internet and/or a data download from the Internet.

BRIEF DESCRIPTION OF THE DRAWING(S)

FIG. 1 depicts the system architecture of an embodiment of the invention;

FIG. 2 depicts an example of network capability-aware communication load distribution to mobile devices;

FIG. 3 depicts the flow chart of an embodiment of the invention; and

FIG. 4 depicts a schematic diagram of an exemplary mobile device usable within various embodiments of the invention.

DETAILED DESCRIPTION

This invention relates to a network traffic aggregation method and device which allows an in-vehicle telematics system to utilize a collection of mobile devices carried by a driver and/or passengers for enhancing its own data communication throughput. An in-vehicle traffic aggregation device receives communication requests from the in-vehicle telematics system. It constructs a communication network to each mobile device using tethering so that the telematics system can access the Internet not only via its own mobile network interface but also via the mobile devices' mobile network interfaces.

The traffic aggregation device first collects the availability and network capability (e.g. throughput and/or latency) of each mobile device via tethering connection. Tethering is the use of a mobile device such as a mobile phone to supply Internet access for another device. The mobile device is thus treated as an access point to which other devices connect via Bluetooth, WiFi, USB or other means. If the communication request from the telematics system is for uploading data to the Internet, the traffic aggregation device fragments the data into small chunks and distributes them into mobile devices via the tethering connection. The amount of data assigned to each mobile device is proportional to the device's network capability. Finally, each mobile device attempts to deliver the assigned data to the Internet destination.

If the communication request from the telematics system is for downloading data from the Internet, the traffic aggregation device retrieves the profile (server location, size, fragmentation size, number of fragments, etc.) of the data to be downloaded from the P2P server via the Internet. A peer-to-peer network, commonly abbreviated P2P, is any distributed network architecture composed of participants that make a portion of their resources (such as processing power, disk storage or network bandwidth) directly available to other network participants, without the need for central coordination instances (such as servers or stable hosts).

The device's P2P arbiter determines which mobile device is to download what fragments of data from which server. Based on this traffic allocation decision, each mobile device downloads the assigned fragments of data from the Internet source and sends them to the P2P arbiter via the tethering connection. Finally, the P2P arbiter aggregates all fragments that constitute the desired data and sends the aggregated final data to the in-vehicle telematics unit.

This system reduces the transmission/reception time of data by orders of magnitude by collectively utilizing in-vehicle mobile devices' network capabilities. It also distributes communications loads into mobile devices based on mobile devices' network capability. This network-capability-aware traffic distribution via the P2P Arbiter of the device maximizes the chance to complete a communication request (transmission or reception) in an optimal way. If the in-vehicle telematics system is subscribed for a limited data service plan, excessive data transfer beyond the data limit may result in additional charges. By smartly distributing the large volume of a traffic load into multiple mobile network devices, the intended data communication can sometimes be performed with a lesser additional service charge.

An exemplary architecture in an embodiment of the invention is shown in FIG. 1. The overall system consists of an in-vehicle telematics system 100, Traffic Aggregator 101, one or more mobile devices 102, and P2P Server 103 on the Internet. The in-vehicle telematics system 100 provides various mobile services to drivers and passenger in the vehicle. Examples of services include Hands-Free Calling, navigation, contacts/schedule management, music/movie downloading/playing, FM/AM/HD/Internet radio, and so on. The telematics system 100 may or may not be quipped with a mobile network interface (e.g., GSM, CDMA, WCDMA, HSDPA, etc.) that provides access to the Internet.

Traffic Aggregator 101 is connected to the in-vehicle telematics system 100 via a wired or wireless connection. It receives communication requests from the in-vehicle telematics system such as to download a movie from a server on the Internet or upload vehicle diagnostic information to a server on the Internet. The Traffic Aggregator 101 then distributes communication tasks to mobile devices 102 in the vehicle using the tethering connection between the Traffic Aggregator 101 and the mobile devices 102.

Specifically, P2P Arbiter 104 in the Traffic Aggregator 101 receives the communication requests, divides a large communication traffic load into multiple small loads, and distributes the multiple communication tasks to the one or more mobile devices 102 based on the network capability information of the mobile devices 102. Tethering Server 105 in the Traffic Aggregator 101 provides an access point to which one or more mobile devices 102 connect via wired or wireless networks such as Bluetooth, WiFi, USB or other means so that Traffic Aggregator 101 utilizes the collective communication capability of the all the mobile devices 102 in the vehicle for delivering data to/from the in-vehicle telematics system.

Mobile devices 102 are carried by individuals including a driver and potentially passengers in the vehicle and equipped with a mobile network interface that provides access to the Internet. Examples of mobile device include but are not limited to smart phones, laptops and tablet devices. Communicating over the mobile network usually requires a subscription for communication service plan provided by telecommunication network operators.

In addition, these mobile devices are generally equipped with another communication interface, such as Bluetooth, WiFi, USB or other means, so that Tethering Client 106 can create a tethering connection to Tethering Server 105 in the Traffic Aggregator 101. Over the tethering connection, communication upload/download requests, mobile device's network status, and the telematics system's application data to be delivered from/to the Internet are delivered between Traffic Aggregator 101 and mobile devices 102.

The P2P Client 107 receives a communication request from the P2P Arbiter 104 through the tethering connection. The communication request may include but is not limited to the profile (server location, size, fragmentation size, number of fragments, etc.) of the telematics system's application data to be downloaded from or uploaded to the P2P server 103 via the Internet. Subsequently, the P2P Client 107 performs the requested communication tasks (upload/download) interfacing with the P2P server 103 on the Internet.

The capability-aware network load distribution scheme used in P2P Arbiter of Traffic Aggregator in accordance with the described principles ensures that the amount of data traffic assigned to each mobile device is proportional to the device's network capability as shown in FIG. 2. For example, assume an environment 200 wherein there exist three mobile phones 201, 202, 203, each of which has a different maximum throughput capability 204, 205, 206. Two of them 201, 202 have a 3G mobile network interface and another 203 has a 4G mobile network interface. The in-vehicle telematics system 207 also has a 3G mobile network interface. The in-vehicle telematics system 207 is to download a movie of 600 MB. The P2P Arbiter at the P2P server 208 divides the target file into multiple pieces of the same size and requests the mobile phones 201, 202, 203 to download different data pieces. The number of data pieces in request to each mobile phone 201, 202, 203 is proportional to the maximum throughput of each mobile network interface. If the throughputs for the 3G and 4G 203 network are 5 Mbps and 20 Mbps, respectively, then the 4G-equipped mobile phone 203 will receive and process four times more download requests than the 3G-equipped mobile phones 201, 202.

FIG. 3 depicts the logical flow of a process 300 according to an embodiment of the invention. Once the Traffic Aggregator receives a communication request from the in-vehicle telematics system, the Tethering Server in the Traffic Aggregator checks the availability of all the mobile devices in the vehicle at stage 301 by trying to make a tethering connection to each mobile device so that it makes sure which mobile devices are available for communicating data via Internet on behalf of the in-vehicle telematics system. Then, the P2P Arbiter in the Traffic Aggregator collects or estimates the maximum capability of the mobile devices' mobile network interface from mobile devices at stage 302. The possible metric for network capability includes but is not limited to throughput and latency in an embodiment of the invention.

At stage 303, if the communication request from the telematics system is for uploading data to the Internet, the device fragments the data into small chunks of data and distributes them into mobile devices via tethering connection at stage 307 after optionally transmitting the profile of the local file to be uploaded to the P2P clients upon request. The amount of data assigned to each mobile device is proportional to the device's network capability. This network capability-aware communication load distribution is described in FIG. 2.

Each mobile device is tasked to provide its best effort to deliver the assigned data to the Internet destination. The P2P Arbiter keeps monitoring the transmission status of each mobile device at stage 308 until the entire body of data is delivered to the destination server on the Internet. The Arbiter then informs the in-vehicle telematics system of the completion of the uploading communication.

If the communication request from the telematics system is for downloading data from the Internet (stage 304), the device will retrieve the profile (server location, size, fragmentation size, number of fragments, etc.) of the data to be downloaded from the P2P server via the Internet at stage 305. The device's P2P Arbiter determines which mobile device downloads which fragments of data from which server at stage 310. Based on this traffic allocation decision, each mobile device downloads the assigned fragments of data from the Internet source and sends them to the P2P arbiter via tethering connection. Finally, the P2P arbiter aggregates all the fragments that constitute the desired data at stage 311 and sends the aggregated final data to the in-vehicle telematics. When the upload is deemed complete at stage 312, the process 300 returns to start.

FIG. 4 shows one embodiment of device 400 that may be included in system 100 implementing the invention. Device 400 may include many more or less components than those shown in FIG. 4. However, the components shown are sufficient to implement an illustrative embodiment for practicing the present invention. Network interface 450 includes circuitry for coupling device 400 to one or more networks, and is constructed for use with one or more communication protocols and technologies including, but not limited to, global system for mobile communication (GSM), code division multiple access (CDMA), time division multiple access (TDMA), user datagram protocol (UDP), transmission control protocol/Internet protocol (TCP/IP), SMS, general packet radio service (GPRS), WAP, ultra wide band (UWB), IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMax), SIP/RTP, or any of a variety of other wireless communication protocols. Network interface 450 is sometimes known as a transceiver, transceiving device, or network interface card (NIC).

Audio interface 452 is arranged to produce and receive audio signals such as the sound of a human voice. For example, audio interface 452 may be coupled to a speaker and microphone to enable telecommunication with others and/or generate an audio acknowledgement for some action. Display 454 may be a liquid crystal display (LCD), gas plasma, light emitting diode (LED), or any other type of display used with a computing device. Display 454 may also include a touch sensitive screen arranged to receive input from an object such as a stylus or a digit from a human hand. In addition, device 400 may further include video adaptor 462, which is configured to provide video signals to an external display.

Keypad 456 may comprise any input device arranged to receive input from a user. For example, keypad 456 may include a push button numeric dial, or a keyboard. Keypad 456 may also include command buttons that are associated with selecting and sending images. Illuminator 458 may provide a status indication and/or provide light. Illuminator 458 may remain active for specific periods of time or in response to events. For example, when illuminator 458 is active, it may backlight the buttons on keypad 456 and stay on while the device is powered. In addition, illuminator 458 may backlight these buttons in various patterns when particular actions are performed, such as dialing another device. Illuminator 458 may also cause light sources positioned within a transparent or translucent case of the device to illuminate in response to actions.

Device 400 also comprises input/output interface 460 for communicating with external devices, such as a headset. Input/output interface 460 can utilize one or more communication technologies, such as USB, infrared, Bluetooth™, or the like.

Device 400 typically ranges widely in terms of capabilities and features. For example, a cell phone may have a numeric keypad and a few lines of monochrome LCD display on which only text may be displayed. In another example, a web-enabled mobile device such as a PDA may have a touch sensitive screen, a stylus, and several lines of color LCD display in which both text and graphics may be displayed. In still another example, a multimedia-enabled mobile device such as laptop may include a multimedia application 445 such as a video player application, which is configured to render images, videos streams, audio signals, or the like through a multimedia interface such as a color LCD or LED screen or a microphone. In still another example, device 400 may also include a browser application configured to receive and display graphics, text, multimedia, or the like, employing virtually any web-based language, including a wireless application protocol messages (WAP), or the like. For example, the browser application is enabled to employ Handheld Device Markup Language (HDML), Wireless Markup Language (WML), WMLScript, JavaScript, Standard Generalized Markup Language (SMGL), HyperText Markup Language (HTML), extensible Markup Language (XML), or the like, to display and send information.

As depicted in FIG. 4, in general, device 400 also includes a decoder. In one embodiment, the decoder is part of the multimedia application 445 described above or a standalone application 447 running in parallel with the multimedia application on the device. In another embodiment, the decoder is provided in a hardware module 461 as part of the hardware circuit in the device. The decoder is configured to decode multimedia data from the data stream received by the device and feed the decoded data to the multimedia application 445 such as the video player. Depending on the coding technique used in the encoded data stream, the decoder can perform loss or lossless decoding. The decoder may utilize proprietary decoding techniques or standardized decoding techniques defined in standard specifications such as H.261, H.264, JPEG, or MPEG.

Device 400 further include a P2P streaming module, which is configured to process the coded data stream received from other computing devices through network interface 450 in accordance with a P2P transmission scheme. The P2P streaming module can be part of the decoder 447 or 461 as described above or can be a standalone application 445, which operates in conjunction with the decoder. In one embodiment, the P2P streaming module operates on top of the Internet Protocol (IP) or other networking protocol as well known in the art. The P2P streaming module is further configured to provide information that identifies device 400, including a type, capability, name, or the like. In one embodiment, device 400 may uniquely identify themselves through any of a variety of mechanisms, including a phone number, Mobile Identification Number (MIN), an electronic serial number (ESN), mobile device identifier, network address, or other identifier.

In a further embodiment, the P2P streaming module 448 is configured to perform peer indexing and discovery. In particular, the P2P streaming module 448 may broadcast through network interface 450 a message, such as the “Hello” message. The message also identifies certain data, such as a digital video file, that device 400 requests from other devices in the system. Upon receiving responses, the P2P streaming module 448 identifies a number of network devices that has the requested data and assigns an identification (ID) to each of these network devices. In addition, the P2P streaming module 448 also conducts negotiations with other network devices to determine transmission rates, bandwidth, packet size, etc. For example, the P2P streaming module 448 may exam the responses received from the network devices that have the requested data, and select a predetermined number of network devices according to the uplink data rate or bandwidth offered by these network devices.

In addition, P2P streaming module 448 can further provide data assembling, retransmission request, and error correction. For example, P2P streaming module 448 can generate a copy of the requested data by assembling the data streams received from a plurality of computing devices. Upon discovering that one or more portions of the data are missing or contain errors, P2P streaming module 448 can request retransmissions of the unavailable data and/or correct the errors by applying an error correction method to the received data.

All references, including publications, patent applications, and patents, cited herein are hereby incorporated by reference to the same extent as if each reference were individually and specifically indicated to be incorporated by reference and were set forth in its entirety herein.

The use of the terms “a” and “an” and “the” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.

Preferred embodiments of this invention are described herein, including the best mode known to the inventors for carrying out the invention. Variations of those preferred embodiments may become apparent to those of ordinary skill in the art upon reading the foregoing description. The inventors expect skilled artisans to employ such variations as appropriate, and the inventors intend for the invention to be practiced otherwise than as specifically described herein. Accordingly, this invention includes all modifications and equivalents of the subject matter recited in the claims appended hereto as permitted by applicable law. Moreover, any combination of the above-described elements in all possible variations thereof is encompassed by the invention unless otherwise indicated herein or otherwise clearly contradicted by context. 

1. A method for enhancing a data communication throughput associated with an in-vehicle telematics system comprising: receiving a communication request from the in-vehicle telematics system to perform at least one of a data upload to the Internet and a data download from the Internet; verifying availability of one or more mobile devices within the vehicle; determining a maximum capability of a mobile network interface for each of the one or more available mobile devices within the vehicle; when the communication request from the in-vehicle telematics system is for uploading data to the Internet, fragmenting the data into data fragments and distributing the data fragments to the available mobile devices; and when the communication request from the telematics system is for downloading data from the Internet, determining a fragment of data to be downloaded and the server from which the fragment is to be downloaded, and receiving the respective determined fragments from each mobile device.
 2. The method according to claim 1, wherein the communication request from the telematics system is for downloading data from the Internet, the method further comprising aggregating all fragments to create a downloaded data object and sending the downloaded data object to the in-vehicle telematics unit.
 3. The method according to claim 1, wherein the step of verifying availability of one or more mobile devices within the vehicle further comprises attempting to make a tethering connection to each mobile device within the vehicle to determine which mobile device is available for communicating data via the Internet on behalf of the in-vehicle telematics system.
 4. The method according to claim 1, wherein the step of determining a maximum capability of a mobile network interface for each of the one or more mobile devices within the vehicle includes evaluating at least one of throughput and latency for each mobile network interface.
 5. The method according to claim 1, wherein the step of distributing the data fragments to the available mobile devices comprises distributing the data fragments via a tethering connection to the available mobile devices.
 6. The method according to claim 1, further comprising transmitting a profile of a local file to be uploaded to the available mobile devices before distributing the data fragments.
 7. The method according to claim 6, wherein the profile includes at least one of server location, file size, fragmentation size, and number of fragments.
 8. The method according to claim 1, wherein distributing the data fragments to the available mobile devices includes distributing the fragments in amounts proportional to each device's network capability.
 9. The method according to claim 1, further comprising monitoring a transmission status of each available mobile device during upload until delivery of all data fragments is completed.
 10. The method according to claim 1, further comprising signaling the in-vehicle telematics system of the completion of uploading.
 11. A system for communicating from a vehicle over the Internet, the system comprising: an in-vehicle telematics unit for wirelessly communicating from the vehicle over a network; a traffic aggregator connected to the in-vehicle telematics unit; and one or more mobile devices; wherein the traffic aggregator is configured to receive a request from the in-vehicle telematics unit to exchange data to or from a server on the Internet, and to distribute data communications tasks associated with the exchange among the mobile devices using a tethering connection between the traffic aggregator and the mobile devices, wherein the distribution of data communications tasks among the mobile devices is based on network capabilities of the mobile devices.
 12. The system for communicating from a vehicle over the Internet according to claim 11, wherein the request from the in-vehicle telematics unit to exchange data to or from a server on the Internet is a request to upload vehicle diagnostic information.
 13. The system for communicating from a vehicle over the Internet according to claim 11, wherein the Traffic Aggregator includes a Tethering Server to provide an access point to which the one or more mobile devices connect.
 14. The system for communicating from a vehicle over the Internet according to claim 11, wherein the request from the in-vehicle telematics unit to exchange data to or from a server on the Internet is a request to download data from the server, and the traffic aggregator is further configured to aggregate fragments of data received from the one or more mobile devices to create a downloaded data object and send the downloaded data object to the in-vehicle telematics unit.
 15. The system for communicating from a vehicle over the Internet according to claim 11, wherein the traffic aggregator is further configured to identify the one or more mobile devices by initiating a tethering connection to each mobile device within the vehicle to determine which mobile device is available for communicating data via the Internet on behalf of the in-vehicle telematics unit.
 16. The system for communicating from a vehicle over the Internet according to claim 11, wherein the network capabilities of the mobile devices include at least one of throughput and latency for a mobile network interface of each mobile device.
 17. A method for enhancing communications bandwidth of an in-vehicle telematics unit comprising: identifying one or more mobile communications devices within the vehicle; wirelessly tethering to the one or more mobile devices; determining a bandwidth capability of each of the one or more mobile communications devices; and distributing parts of a communications task among the one or more mobile communications devices, wherein the communications task includes at least one of a data upload to the Internet and a data download from the Internet.
 18. The method for enhancing communications bandwidth of an in-vehicle telematics unit according to claim 17, wherein determining a bandwidth capability of each of the one or more mobile devices comprises determining at least one of throughput and latency for each mobile device.
 19. The method for enhancing communications bandwidth of an in-vehicle telematics unit according to claim 17, wherein the step of distributing parts of a communications task among the one or more mobile devices comprises distributing parts of the communications task to each mobile device in proportions based on the device's network capability.
 20. The method for enhancing communications bandwidth of an in-vehicle telematics unit according to claim 17, wherein the communications task is a data download from the Internet, the method further comprising receiving all parts of the communications task from the one or more mobile devices and aggregating all parts to create a downloaded data object and sending the downloaded data object to the in-vehicle telematics unit. 